<?php
/**
 * Created by PhpStorm.
 * User: tengjs
 * Date: 2020/11/20
 * Time: 8:20
 */

namespace App\Admin\Extensions;

use Encore\Admin\Form\Field;

class UEditor extends Field
{
    // 定义视图
    protected $view = 'admin.form.ueditor';

    protected static $css = [];

    protected static $js = [
        '/vendor/ueditor/ueditor.config.js',
        '/vendor/ueditor/ueditor.all.js',
        '/vendor/ueditor/lang/zh-cn/zh-cn.js',
    ];

    public function render()
    {
        $this->script = <<<EOT
        window.UEDITOR_CONFIG.serverUrl = '/ueditor/server';
        // 解决第二次进入加载不出来的问题
        UE.delEditor("{$this->id}");
        var ue = UE.getEditor('{$this->id}', {
            // 具体配置项含义可参考官方文档：http://fex.baidu.com/ueditor/#start-config
            // 自定义工具栏
            toolbars: [
//                [
//                    'bold', 'italic', 'underline', 'strikethrough', 'blockquote', 'insertunorderedlist', 
//                    'insertorderedlist', 'justifyleft', 'justifycenter', 'justifyright', 'link', 'insertimage', 
//                    'source', 'fullscreen'
//                ]
                [
                    'source', //源代码
//                    'anchor', //锚点
//                    'undo', //撤销
//                    'redo', //重做
                    'forecolor', //字体颜色
                    'bold', //加粗
                    'indent', //首行缩进
                    'italic', //斜体
                    'underline', //下划线
                    'strikethrough', //删除线
                    'subscript', //下标
                    'superscript', //上标
                    'formatmatch', //格式刷
                    'blockquote', //引用
                    'horizontal', //分隔线
                    'link', //超链接
                    'unlink', //取消链接
                    'time', //时间
                    'date', //日期
                    'print', //打印
                    'preview', //预览
                    'pasteplain', //纯文本粘贴模式
                    'removeformat', //清除格式 
                ],
                [
                    'inserttable', //插入表格
                    'insertrow', //前插入行
                    'insertcol', //前插入列
                    'mergeright', //右合并单元格
                    'mergedown', //下合并单元格
                    'deleterow', //删除行
                    'deletecol', //删除列
                    'splittorows', //拆分成行
                    'splittocols', //拆分成列
                    'splittocells', //完全拆分单元格
                    'mergecells', //合并多个单元格
                    'deletetable', //删除表格
                    'edittable', //表格属性
                    'edittd', //单元格属性
                    'justifyleft', //居左对齐
                    'justifyright', //居右对齐
                    'justifycenter', //居中对齐
                    'justifyjustify', //两端对齐
                    'insertorderedlist', //有序列表
                    'insertunorderedlist', //无序列表
                    'rowspacingtop', //段前距
                    'rowspacingbottom', //段后距
                    'lineheight', //行间距
                    'edittip ', //编辑提示
                ],
                [
                    'insertcode', //代码语言
                    'fontfamily', //字体
                    'fontsize', //字号
                    'paragraph', //段落格式
                    'simpleupload', //单图上传
                    'insertimage', //多图上传
                    'insertvideo', //视频
//                    'music', //音乐
                    'attachment', //附件
                    'insertframe', //插入Iframe
                    'emotion', //表情
                    'map', //Baidu地图
                    'imagenone', //默认
                    'imageleft', //左浮动
                    'imageright', //右浮动
                    'imagecenter', //居中
                    'fullscreen', //全屏
                    'autotypeset', //自动排版
                ]
            ],
            elementPathEnabled: false,
            enableContextMenu: false,
            autoClearEmptyNode: false,
            wordCount: false,
            imagePopup: false,
            autotypeset: {indent: true, imageBlockLine: 'center'},
            retainOnlyLabelPasted: true, // 粘贴只保留标签，去除标签所有属性
//            pasteplain: true, // 是否默认为纯文本粘贴。false为不使用纯文本粘贴，true为使用纯文本粘贴
            maximumWords: 100000,
            autoHeightEnabled: false, // 是否自动长高
            scaleEnabled: false, // 是否可以拉伸长高
//            allowDivTransToP: false, // 不允许div标签转为p标签
        });
        ue.ready(function () {
            // 不要用这个方法，要异步加载的形式，不然会报错（）参见：https://segmentfault.com/q/1010000005931449
//            ue.execCommand('serverparam', '_token', '{{ csrf_token() }}');
            // 设置固定高度，防止内容过多导致页面拉长
            this.setHeight(550);
        });
EOT;
        return parent::render();
    }
}


